optimal binary search tree in data structure